package com.rongji.cms.tools.db.strategy;

import com.rongji.cms.tools.db.enums.DbEnum;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * @author yang
 * @date 2023/1/29 13:48
 * @description 工厂类
 * 这个适用非spring工程，直接在这里new相应策略类并添加到map里，有新的策略类记得修改这里
 */

public class DbStrategyFactoryNotSpring {
    private static Map<String, DbStrategy> strategys = new ConcurrentHashMap<>();

    /**
     * 通过type获取相应的数据库service
     *
     * @param type
     * @return
     */
    public static DbStrategy getByDbType(String type) {
        return strategys.get(type);
    }


    static {
        strategys.put(DbEnum.MYSQL.getValue(), new MysqlDbStrategy());
        strategys.put(DbEnum.ORACLE.getValue(), new OracleDbStrategy());
    }


}
